
#ifndef __MAIN_H
#define __MAIN_H

#ifdef __cplusplus
extern "C"
{
#endif


#include "stm32f1xx_hal.h"

#include "ds18b20.h"
#include "bsp_uart.h"
#include "ds18b20.h"
#include "bsp_gpio.h"
#include "bsp_tim.h"
#include "Customize_I2C.h"
#include "vl53l0x_api.h"
#include "dht11.h"
#include <string.h>
#include <stdio.h>
#include "fan.h"
#include "tds.h"
#include "adcx.h"

#include "FreeRTOS.h"
#include "task.h"
#include "queue.h"
#include "semphr.h"
#include "event_groups.h"
#include "cmsis_os2.h"


/* 事件组的事件 BIT */
#define SCREEN_DATA_RECIV_BIT         (1 << 0) // 屏幕数据接收事件
/* 任务句柄 */
typedef struct __tasks_handle{
    TaskHandle_t  UserLed_Task_Handle;
    TaskHandle_t  ScreenData_Parse_Task_Handle;
    TaskHandle_t  DHT11_Data_Read_Task_Handle;
    TaskHandle_t  VL53L0x_Data_Read_Task_Handle;
    TaskHandle_t  DS18B20_Data_Read_Task_Handle;
		TaskHandle_t  TDS_Data_Read_Task_Handle;
}TasksHandle_t;
/* 事件组句柄 */
extern EventGroupHandle_t Event_Group_Handle;
extern volatile uint32_t Hall_Count;
void Create_APP_Task(void);

void Error_Handler(void);



#ifdef __cplusplus
}
#endif

#endif /* __MAIN_H */
